package collection;

import java.util.ArrayList;
import java.util.List;

public class SubListDemo {
    public static void main(String[] args) {
        /*
            List提供获取子集的操作:
            List<类型> sublist(int short,int end);含头不含尾
         */
        List<Integer>list  = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            list.add(i*10);
        }
        System.out.println(list);
        List<Integer> sublist = list.subList(3,8);//含头不含尾,截取下标3,7的自己
        System.out.println(sublist);

        //将子集每个元素都扩大10倍
        for (int i = 0; i < sublist.size(); i++) {
            sublist.set(i, sublist.get(i)*10);
        }                       //本身
        System.out.println(sublist);
        //注意:对子集的操作就是对原集合对应的元素操作
        System.out.println(list);//子集变了,原集也会跟着变

        list.set(3,1000);//将原集合下标为3的元素的数据修改为1000
        System.out.println(list);
        //原集合数据改变后,子集数据跟着改变
        System.out.println(sublist);

        list.remove(0);
        System.out.println(list);
        //原集合长度修改后,子集将不能再进行任何操作,操作则发生异常
        //需要重写获取子集
        //System.out.println(sublist);


    }
}
